Improving the Linux Test Project with Kernel Code Coverage Analysis
نویسندگان
چکیده
Coverage analysis measures how much of the target code is run during a test and is a useful mechanism for evaluating the effectiveness of a system test or benchmark. In order to improve the quality of the Linux® kernel, we are utilizing GCOV, a test coverage program which is part of GNU CC, to show how much of the kernel code is being exercised by test suites such as the Linux Test Project. This paper will discuss the issues that make code coverage analysis a complicated task and how those issues are being addressed. We will describe tools that have been developed to facilitate analysis and how these tools can be utilized for kernel, as well as application code coverage analysis.
منابع مشابه
Using Code Coverage Tools in the Linux Kernel
Defining software reliability is hard enough, let alone ensuring it. However, most all software developers agree on the importance of testing. The often unspoken assumption with testing is that the test programs cover a majority of the source code written. A test covers a line of code if running the test executes the line. Coverage analysis measures how much of the target code is run during a t...
متن کاملThe Linux Scalability Project
The Linux Scalability Project is adapting Linux for use in enterprise-scale networking environments. We focus on kernel algorithms and data structures that scale poorly when presented with thousands or tens of thousands of simultaneous service requests. For example, we uncovered a “thundering herd” problem in the accept system call. A few dozen lines of code corrects this behavior to awaken onl...
متن کاملTesting Error Handling Code in Device Drivers Using Characteristic Fault Injection
Device drivers may encounter errors when communicating with OS kernel and hardware. However, error handling code often gets insufficient attention in driver development and testing, because these errors rarely occur in real execution. For this reason, many bugs are hidden in error handling code. Previous approaches for testing error handling code often neglect the characteristics of device driv...
متن کاملTraffic diversity and code coverage: a preliminary analysis
It is generally assumed that using more diverse traffic to test network devices could achieve larger code coverage. However, how to describe the diversity of traffic traces and the relationship between the traffic diversity and code coverage is still an issue. In this paper, the traffic diversity is defined using the number of packets and the size of the subnets involved, and traces having vari...
متن کاملkAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels
Many kinds of memory safety vulnerabilities have been endangering software systems for decades. Amongst other approaches, fuzzing is a promising technique to unveil various software faults. Recently, feedback-guided fuzzing demonstrated its power, producing a steady stream of security-critical software bugs. Most fuzzing efforts—especially feedback fuzzing—are limited to user space components o...
متن کامل